<?php

/**
 * Abstrakcyjna klasa dla pluginów
 *
 */
abstract class Rapide_Request_Plugin
{
	protected
		$_aGlobal = array();

	/**
	 * Inicjalizuje obiekt podaną tablicą danych 
	 *
	 * @param array $aGlobal
	 */
	public function __construct(array $aGlobal)
	{
		$this->_aGlobal = $aGlobal;
	}

	/**
	 * Sprawdza, czy parametr istnieje
	 *
	 * @param string $sParameter
	 * @return bool
	 */
	public function has($sParameter)
	{
		return isset($this->_aGlobal[$sParameter]);
	}

	/**
	 * Zwraca wartość parametru
	 *
	 * @param string $sParameter
	 * @return mixed
	 */
	public function get($sParameter)
	{
		return $this->has($sParameter) ?
					 $this->_aGlobal[$sParameter] :
					 null;
	}

	/**
	 * Zwraca liczbę elementów w tablicy danych
	 *
	 * @return int
	 */
	public function size()
	{
		return count($this->_aGlobal);
	}
}

?>